package com.uzai.console.service.takebal;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.takebal.redpackettemplate.*;
import com.uzai.console.vo.takebal.redpacket.RedPacketInfoVo;
import com.uzai.console.vo.takebal.redpackettemplate.RedPacketTemplateInfoVo;

import java.util.List;

/***
 * @author liuqi
 * @date 2021年09月01日 19:26
 */
public interface RedPacketTemplateService {

    /**
     * 查询所有红包模板列表
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param redPacketTemplateQuery
     * @return null
     */
    List<RedPacketTemplateInfoVo> findRedPacketTemplateList(RedPacketTemplateQuery redPacketTemplateQuery);

    /**
     * 分页查询红包模板列表
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param redPacketTemplateQuery
     * @return null
     */
    Page<RedPacketTemplateInfoVo> findRedPacketTemplatePage(RedPacketTemplateQuery redPacketTemplateQuery);

    /**
     * 修改红包模板
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param redPacketTemplateUpdateDto
     * @return null
     */
    void updateRedPacketTemplateInfo(RedPacketTemplateUpdateDto redPacketTemplateUpdateDto);

    /**
     * 批量手动发送红包
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param redPacketSendDto
     * @return null
     */
    void batchSendRedPacket(RedPacketSendDto redPacketSendDto);

    /**
     * 手动发送红包卡片
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param redPacketSendDto
     * @return null
     */
    void sendRedPacket(RedPacketSendDto redPacketSendDto);

    /**
     * 手动发送手气红包卡片
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param redPacketSendDto
     * @return null
     */
    void sendRedPacketRandom(RedPacketSendDto redPacketSendDto);

    /**
     * 手动发送微信红包
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param redPacketSendDto
     * @return null
     */
    void sendWxRedPacket(RedPacketSendDto redPacketSendDto);

    /**
     * 添加和修改红包模板
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param redPacketTemplateInfoDto
     * @return null
     */
    void saveRedPacketTemplate(RedPacketTemplateInfoDto redPacketTemplateInfoDto);

    /**
     * 删除红包模板
     * @author liuqi
     * @date 2021/8/25 11:38
     * @param redPacketTemplateIdDto
     * @return null
     */
    void deleteRedPacketTemplate(RedPacketTemplateIdDto redPacketTemplateIdDto);

}
